\documentclass[a4paper,11pt,titlepage]{article}
\usepackage{palatino,url}	%um www adressen anzuzeigen
\usepackage[utf8x]{inputenc}

\usepackage{graphicx}	%praktisch f�r bilder
\usepackage{subfigure}
\usepackage{footmisc}	%fussnoten
\usepackage{perpage}	%damit sollte fussnote zahl pro seite neu beginnen
\usepackage[para]{manyfoot} %um fussnoten anzupassen
\usepackage{float}		%floating elements, f�r bilder
\MakePerPage[1]{footnote} %startet fussnoten pro seite bei 1
\usepackage[english]{babel} 	%--> deutsches Dokument
%\bibstyle{plain}
\def\TReg{\textsuperscript{\textregistered}}
\DeclareNewFootnote[para]{B} %lange Fussnote erstellen

\parindent 0pt		%kein einzug nach Absatz

\begin{document}

%\maketitle	%damit wird automatisch Titelseite erzeugt

\begin{titlepage}


\Large
Master Seminar\newline 
WS2010/2011\newline


\vspace{1 cm}
\begin{figure}[H]

\includegraphics[scale=0.75]{sti_logo.png}
\end{figure}
\vspace{1 cm}
\Huge

\textbf{Social Conference Project}\newline 


\vspace{4 cm}

\large
Tutor: Dr. Facca Federico Michele\newline
\large
Institut für Informatik\newline
Universität Innsbruck\newline

\vspace{1 cm}

\large
Erlacher Felix\\Estgfäller Wolfgang\\Ferula Patrick	\hspace{3 cm}\newline\newline
\normalsize
\end{titlepage}

\section*{Introduction}
This document describes our project, which can be used at conferences.\\
The goal of this project is to provide a simple way to exchange informations about participants of conferences and talks, as well as the conference itself. Participants should have the possibility to get contact informations about other participants or speakers and get in touch with them through the application. The project should resemble Social Networks. There is a web-application and an application for Android smartphones.

\newpage
\section{Realization/Requirements}

\subsection{Webserver}
For the presentation of the web-content we used the webserver Apache Tomcat\cite{tomcat}. The webpages themself were created using the Google Web Toolkit (GWT\cite{gwt}).

\subsection{Backend}
The backend was created using Java and is accessed by the applications via socket connections. 


\subsubsection{Database}
For the persistent storage of the data we used a MySQL\cite{MySql} Database.The connection to the database was realized using Hibernate\cite{hib}.

\subsection{Mobile App}
The app for Android Smartphones which ports the functionality of our project to the mobile world was created using Android Framework SDK (Java). To work with QR-Codes we used
the zxing\cite{zxing} framework.


\section{Application Flow}

\begin{figure}[H]
\includegraphics[scale=0.2]{Diagramm1.png}
\caption{Diagram showing the application flow}
\end{figure}

\section{Functionality}
The Project can be divided into four main functionalities:
\begin{enumerate}
\item My Friends
\item Twitter
\item Search
\item Android App
\end{enumerate}

\subsection{My Friends}
Here one can find all the people he has already made friends with. There is also a list with "Friend Requests" of people who wish to become ones friends. These requests can be rejected or accepted, if the requests are accepted the associated people will then appear in the list.

\subsection{Search People}
Under this menu point one can search for people by first name, last name or country. By clicking on a name of the search results one can see the details of the person and choose to send that person a "Friend Request". The QR-Code that appears in details, can be scanned with an Android phone which is equipped with the projects App. 

\subsection{Twitter}
After authorising the application to access ones Twitter account (permanently or not), the single conferences (which do all have a Twitter account) can be followed (or unfollowed). There is also the possibility to see the tweets of the followed Conferences. 

\subsection{Register}
Before someone is logged in, a menu point "Register" is available in the menu on the left. Here people new to the system
can register themselves. As an optional, one can add his DBLP \cite{dblp} link, to simplify this there is a button which searches through the DBLP by name (and surname) and lets one choose from the results.

\subsection{Admin}
If one is logged in as a user with admin rights, an additional menu point will appear called "Admin Area". Here one can add new conferences to the system.

\subsection{Android App}
The App for Android smartphones offers most of the functionalities of the Web-Application plus some additional smartphone specific features.

As soon as one is logged in (same login credentials as on the Web-App), the user can choose between the following three functionalities:
\begin{enumerate}
  \item My Friends
  \item QR-Code
  \item Conference
\end{enumerate}

\begin{itemize}
  \item \textbf{My Friends:} same functionality as the My Friends of the Web-Application. Additional functionalities are that you can directly call the persons on the friend list, or send them e-mails.
  \item \textbf{QR-Code:} it is possible to show the personal QR-Code or to scan ``Social Conference Project'' specific QR-Codes which identify conferences, talks or people.
  \item \textbf{Conference}: gives details about the current conference, like associated talks, the place (Google Maps) or conference tweets. It is also possible to show details about talks (e.g. time, place, description or profile of speakers). The user can also post a tweet on his own account.
\end{itemize}



\section{Installation and Source Code}


The whole source code and binaries are available at the following URL (all paths given below a relative from this location):
\\\\

https://socialconferenceproject.googlecode.com/svn
\\\\

Everyone with a google account has at least read access to all files. To login one needs the googlecode account information credentials. They differ from the google account credentials. One can get them as follows:

\begin{enumerate}
\item goto http://code.google.com/
\item login with your google account
\item click on Profile and choose Settings
\item now one can see the google code credentials
\end{enumerate}

To get the program up and running one has to perform the following steps:

\begin{enumerate}
\item One must install a servlet container which can host Java Servlets, we suggest (and used) Apache Tomcat 6.0.
\item To run the backend one needs the Java Runtime Environment (JRE) 1.6.
\item As a data provider one needs to install a database, we suggest MySql. If another database is used, and for all other configuration issues (adress, access credentials, connector...) concerning the database one has to alter the file \emph{SCbackend/src/hibernate.cfg.xml}.
\item In addition to the MySql Database, the program ``MySQL query Browser`` can be installed (which is done normally during the normal MySql installation). The file \emph{SCcommon/Database/datenbank.sql} contains a backup of the database structure as well as some sample data. It can be imported using the ``MySQL query Browser`` File $\to$ open script and then execute the script.
\item To include the GWT Web Applications one has to copy the folder \emph{SCweb/war/} folder into Tomcats WebApp folder (and eventually rename it).
\item Assuming the database is running and contains some data and the webserver is waiting for connections, it should be enough to run the JAR file \emph{backend/backend.jar}.
\end{enumerate}

Now as soon as a browser connects to the URL\\
 http:\textbackslash\textbackslash\textit{tomcatAdress:tomcatPort}\textbackslash war \\ 
(or whatever the folder was renamed to) one has access to the application.

\section{Screenshots}
\subsection{Web Application}
\begin{figure}[H]
\includegraphics[scale=0.3]{login.png}
\caption{Login screen}
\end{figure}

\begin{figure}[H]
\includegraphics[scale=0.3]{register.png}
\caption{Register screen}
\end{figure}

\begin{figure}[H]
\includegraphics[scale=0.3]{conferences.png}
\caption{Home screen}
\end{figure}

\begin{figure}[H]
\includegraphics[scale=0.3]{friendlist.png}
\caption{Friend list}
\end{figure}

\begin{figure}[H]
\includegraphics[scale=0.3]{friendsearch.png}
\caption{Friend search}
\end{figure}

\begin{figure}[H]
\includegraphics[scale=0.3]{friendsearch.png}
\caption{Twitter screen}
\end{figure}

\subsection{Android Application}


\begin{figure}[H]
\subfigure{\includegraphics[scale=0.25]{android_MainMenu.png}}\hfill
\subfigure{\includegraphics[scale=0.25]{android_conference.png}}
\caption{Main screen and Conference details}
\end{figure}



\begin{figure}[H]
\subfigure{\includegraphics[scale=0.25]{android_frienddetails.png}}\hfill
\subfigure{\includegraphics[scale=0.25]{android_talkdetails.png}}
\caption{Friend details and Talk details}
\end{figure}



\section{License}
All files belonging to this project are under the Apache License.\\

Copyright 2011 Erlacher,Estgfaeller,Ferula\\
\\
   Licensed under the Apache License, Version 2.0 (the "License");\\
   you may not use this file except in compliance with the License.\\
   You may obtain a copy of the License at\\
\\
       \url{http://www.apache.org/licenses/LICENSE-2.0}\\
\\
   Unless required by applicable law or agreed to in writing, software\\
   distributed under the License is distributed on an "AS IS" BASIS,\\
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\
   See the License for the specific language governing permissions and\\
   limitatons under the License.\\
\\

\newpage
\begin{thebibliography}{10}


\bibitem{tomcat} Apache Tomcat \url{http://tomcat.apache.org/}
\bibitem{MySql} MySql Database \url{http://www.mysql.com}
\bibitem{gwt} GWT - Google Web Toolkit \url{http://code.google.com/intl/de-DE/webtoolkit/}
\bibitem{hib} Hibernate Framework \url{http://www.hibernate.org/}
\bibitem{dblp} DBLP Library \url{http://www.informatik.uni-trier.de/~ley/db/}
\bibitem{zxing} ZXing QR Framework \url{http://code.google.com/p/zxing/}
\end{thebibliography}



\end{document}
